package com.lzy.system.organization.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lzy.exception.BusException;
import com.lzy.system.organization.entity.SysRole;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lcc
 * @since 2022-08-13
 */
public interface ISysRoleService extends IService<SysRole> {
    /**
     * 根据userId 查询角色
     * @param username
     * @return
     * @throws Exception
     */
    public List<SysRole> selectByUserName(String username) throws BusException;

    /**
     * 查询所有的角色
     * @return
     * @throws BusException
     */
    public List<SysRole> getList() throws BusException;

    /**
     * 查询是目录的角色
     * @return
     * @throws BusException
     */
    public List<SysRole> getListDir() throws BusException;

    /**
     * 新增
     * @param sysRole
     * @return
     * @throws BusException
     */
    public boolean add(SysRole sysRole) throws BusException;

    /**
     * 修改角色信息
     * @param sysRole
     * @return
     * @throws BusException
     */
    public boolean update(SysRole sysRole) throws BusException;

    /**
     * 根据id删除角色
     * @param id
     * @return
     * @throws BusException
     */
    public boolean delById(long id) throws BusException;
    /**
     * 批量删除
     * @param list
     * @return
     * @throws BusException
     */
    public boolean delBatch(List<SysRole> list) throws BusException;

    /**
     * 根据映射id查询角色列表
     * @param mid
     * @return
     * @throws Exception
     */
    public List<SysRole> getByMidSysRoleList (Long mid) throws BusException;
}
